Alger Yang, M.S , NCCU 角色: 菜鳥資料分析師 資料視覺化愛好者 中華民國替代役訓練班第168T 常用工具: R、SQL、SPSS、… 過去與現在工作: DSP實習研究員 健保資料庫的資料分析 塩洲里活動中心管理員
Rstudio這間公司在2012年釋出的R套件,時至今日Shiny已經四歲了,許多地方也做了不少更新與改善 Shiny是一個用於開發web app的R套件 支援基本的表格、圖片、各種統計圖表、地圖與建模結果的視覺化呈現
Only R 程式撰寫的模式規律(很容易撰寫) 以互動的方式讓使用者更容易的暸解許多複雜的分析結果 Shiny可以完全依賴R就能完成一個互動式網頁(or Dashboard),同時也支援 HTML/CSS/Javascript/Markdown etc 支援許多視覺化套件例如:Leaflet、dygraphs、Plotly、Highcharter、Datatable、ggplot2、、…等等 搭配dplyr、tidyr、DT、data.table等資料整理套件合用,會得到意想不到的爽感~
學習shiny,先從範例模仿 從Rstudio建立shiny apps: step1 Create Project step2 選 Shiny Web Application step3 檔案目錄代表app名稱 載入已建立好的apps(即目錄名稱) runApp
客戶端: 瀏覽器進行畫面呈現 瀏覽器和使用者進行互動 依據互動的過程,瀏覽器隨時會和伺服器交換資料 瀏覽器發出Request 伺服器回傳Response 伺服器端: 伺服器提供畫面的規格給瀏覽器 伺服器再依據瀏覽器提供的資訊,回傳使用者需要的資料
ui.r 說明: shiny 會將 ui.R的R 物件轉換為HTML、CSS和Javascript,透過瀏覽器呈現 透過Javascript,瀏覽器會將使用者的動作轉換為Request發回給Server library(shiny)載入shiny套件 shinyUI:它之中的物件都是shiny UI物件 fluidPage:整個瀏覽器頁面的容器 titlePanel、sidebarPanel和mainPanel
server.r 說明: Shiny server處理瀏覽器傳來的Request,轉化為R 中的input 我們撰寫R 函數將input轉換為output Shiny server再把output轉換為Response傳回瀏覽器 library(shiny)載入Shiny shinyServer:定義伺服器端的邏輯 function(input, output) {…}:一段自Request產生Response的邏輯
Login with Google or Github get token: setAccountInto(name,token,secret) deployApp(appDir="appdir_name", appName = "Name_at_shinyapps") Rstudio提供的雲端頁面基本介紹 Bonus ShinyDashboard Show Me Shiny 粉紅高壓電(Pinky Power)
刻Shiny的時間成本 ui… color… 我的角色 也許我該專注在如何提高模型預測的Accuracy The nice visualization is: 能夠完整表達出資料與分析結果所隱含的資訊 使接收者快速的理解並印象深刻
敬昇: Shiny套件在R軟體中發展的相當迅速,我認為Shiny在資料科學流程中,已經扮演著舉足輕重的角色,它可以將資料所蘊含的價值透過簡單地方式做呈現,即便是沒有參與資料分析的過程,也可以享有其成果。舉凡:廣告投放成效的監測、資料儀表板的應用、資料品質的檢驗,Shiny都可以作為很好的工具去實現。